// 用promise 对 wx.request 进行二次封装,
import MTMock from '../utils/MTMock/index'
// 由于每个人对这个二次封装的需求都不一样，我们在这里对请求的参数就不做详细配置
let env = "dev"
const axios = (method, url = '', params = {}) => {
    //1. 各种请求参数的配置 
    return new Promise((resolve, reject) => {
        // 判断开发的环境
        // 如果env为 "dev”的时候，我们就用MTMock对请求进行处理，否则就走wx.request的请求
        if (env === 'dev') {
            // MTMock模拟网络请求
            let rs = MTMock.notify(url, params)
            setTimeout(()=>{
                resolve(rs)
            },1000)
        } else {
            // 正式的网络请求
            wx.request({
                url: 'test.php', //仅为示例，并非真实的接口地址
                data: {
                  x: '',
                  y: ''
                },
                header: {
                  'content-type': 'application/json' // 默认值
                },
                success (res) {
                  console.log(res.data)
                }
              })
        }
    })
}

export default {
	get: (url, params) => {
		return axios('GET', url, params)
	},
	post: (url, params) => {
		return axios('POST', url, params)
	},
	put: (url, params) => {
		return axios('PUT', url, params)
	}
}